The use of configurable integrated circuits (“IC's”) has dramatically increased in recent years. One example of a configurable IC is a field programmable gate array (“FPGA”). An FPGA is a field programmable IC that has an internal array of logic circuits (also called logic blocks). These logic circuits are connected together through numerous interconnect circuits (also called interconnects). The logic and interconnect circuits are surrounded by input/output blocks.
Like some other configurable IC's, the logic circuits and interconnect circuits of an FPGA are configurable. A configurable logic circuit can be configured to perform a number of different functions. Such a logic circuit typically receives input and configuration data. From the set of functions that the logic circuit can perform, the configuration data specifies a particular function that the logic circuit has to perform on the input data. A configurable interconnect circuit connects a set of input data to a set of output data. Such a circuit receives configuration data that specify how the interconnect circuit should connect its input data to its output data.
FPGA's have become popular as their configurable logic and interconnect circuits allow the FPGA's to be adaptively configured by system manufacturers for their particular applications. However, existing FPGA's as well as other existing configurable IC's do not provide robust multiplexer functionality. Specifically, the select lines of multiplexers in existing IC's are typically tied to memory cells that store configuration data. Hence, these multiplexers cannot be controlled by signals internally computed by the logic circuits of the IC's. This, in turn, limits the use of multiplexers in configurable IC's to applications that do not need to make the multiplexing choices based on internally computed IC signals.
Therefore, there is a need in the art for configurable IC's that use novel multiplexer circuits that can be controlled by signals internally computed by the IC's. There is also a need in the art for configurable IC's that have novel architectures that use such multiplexer circuits. There is further a need for configurable IC's that have devices that can take advantage of such novel multiplexer circuits.